
const:     file format elf64-littleaarch64


Disassembly of section .init:

0000000000400ad8 <_init>:
  400ad8:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
  400adc:	910003fd 	mov	x29, sp
  400ae0:	94000066 	bl	400c78 <call_weak_fn>
  400ae4:	a8c17bfd 	ldp	x29, x30, [sp], #16
  400ae8:	d65f03c0 	ret

Disassembly of section .plt:

0000000000400af0 <.plt>:
  400af0:	a9bf7bf0 	stp	x16, x30, [sp, #-16]!
  400af4:	b0000090 	adrp	x16, 411000 <__FRAME_END__+0xf9f0>
  400af8:	f947fe11 	ldr	x17, [x16, #4088]
  400afc:	913fe210 	add	x16, x16, #0xff8
  400b00:	d61f0220 	br	x17
  400b04:	d503201f 	nop
  400b08:	d503201f 	nop
  400b0c:	d503201f 	nop

0000000000400b10 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@plt>:
  400b10:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400b14:	f9400211 	ldr	x17, [x16]
  400b18:	91000210 	add	x16, x16, #0x0
  400b1c:	d61f0220 	br	x17

0000000000400b20 <_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@plt>:
  400b20:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400b24:	f9400611 	ldr	x17, [x16, #8]
  400b28:	91002210 	add	x16, x16, #0x8
  400b2c:	d61f0220 	br	x17

0000000000400b30 <_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev@plt>:
  400b30:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400b34:	f9400a11 	ldr	x17, [x16, #16]
  400b38:	91004210 	add	x16, x16, #0x10
  400b3c:	d61f0220 	br	x17

0000000000400b40 <atoi@plt>:
  400b40:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400b44:	f9400e11 	ldr	x17, [x16, #24]
  400b48:	91006210 	add	x16, x16, #0x18
  400b4c:	d61f0220 	br	x17

0000000000400b50 <__libc_start_main@plt>:
  400b50:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400b54:	f9401211 	ldr	x17, [x16, #32]
  400b58:	91008210 	add	x16, x16, #0x20
  400b5c:	d61f0220 	br	x17

0000000000400b60 <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt>:
  400b60:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400b64:	f9401611 	ldr	x17, [x16, #40]
  400b68:	9100a210 	add	x16, x16, #0x28
  400b6c:	d61f0220 	br	x17

0000000000400b70 <_Znwm@plt>:
  400b70:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400b74:	f9401a11 	ldr	x17, [x16, #48]
  400b78:	9100c210 	add	x16, x16, #0x30
  400b7c:	d61f0220 	br	x17

0000000000400b80 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm@plt>:
  400b80:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400b84:	f9401e11 	ldr	x17, [x16, #56]
  400b88:	9100e210 	add	x16, x16, #0x38
  400b8c:	d61f0220 	br	x17

0000000000400b90 <_ZNSolsEPFRSoS_E@plt>:
  400b90:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400b94:	f9402211 	ldr	x17, [x16, #64]
  400b98:	91010210 	add	x16, x16, #0x40
  400b9c:	d61f0220 	br	x17

0000000000400ba0 <__cxa_atexit@plt>:
  400ba0:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400ba4:	f9402611 	ldr	x17, [x16, #72]
  400ba8:	91012210 	add	x16, x16, #0x48
  400bac:	d61f0220 	br	x17

0000000000400bb0 <_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@plt>:
  400bb0:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400bb4:	f9402a11 	ldr	x17, [x16, #80]
  400bb8:	91014210 	add	x16, x16, #0x50
  400bbc:	d61f0220 	br	x17

0000000000400bc0 <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@plt>:
  400bc0:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400bc4:	f9402e11 	ldr	x17, [x16, #88]
  400bc8:	91016210 	add	x16, x16, #0x58
  400bcc:	d61f0220 	br	x17

0000000000400bd0 <_ZNSt8ios_base4InitC1Ev@plt>:
  400bd0:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400bd4:	f9403211 	ldr	x17, [x16, #96]
  400bd8:	91018210 	add	x16, x16, #0x60
  400bdc:	d61f0220 	br	x17

0000000000400be0 <_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@plt>:
  400be0:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400be4:	f9403611 	ldr	x17, [x16, #104]
  400be8:	9101a210 	add	x16, x16, #0x68
  400bec:	d61f0220 	br	x17

0000000000400bf0 <abort@plt>:
  400bf0:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400bf4:	f9403a11 	ldr	x17, [x16, #112]
  400bf8:	9101c210 	add	x16, x16, #0x70
  400bfc:	d61f0220 	br	x17

0000000000400c00 <_ZNSolsEi@plt>:
  400c00:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400c04:	f9403e11 	ldr	x17, [x16, #120]
  400c08:	9101e210 	add	x16, x16, #0x78
  400c0c:	d61f0220 	br	x17

0000000000400c10 <__gmon_start__@plt>:
  400c10:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400c14:	f9404211 	ldr	x17, [x16, #128]
  400c18:	91020210 	add	x16, x16, #0x80
  400c1c:	d61f0220 	br	x17

0000000000400c20 <_ZNSt8ios_base4InitD1Ev@plt>:
  400c20:	d0000090 	adrp	x16, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400c24:	f9404611 	ldr	x17, [x16, #136]
  400c28:	91022210 	add	x16, x16, #0x88
  400c2c:	d61f0220 	br	x17

Disassembly of section .text:

0000000000400c30 <_start>:
  400c30:	d280001d 	mov	x29, #0x0                   	// #0
  400c34:	d280001e 	mov	x30, #0x0                   	// #0
  400c38:	aa0003e5 	mov	x5, x0
  400c3c:	f94003e1 	ldr	x1, [sp]
  400c40:	910023e2 	add	x2, sp, #0x8
  400c44:	910003e6 	mov	x6, sp
  400c48:	580000c0 	ldr	x0, 400c60 <_start+0x30>
  400c4c:	580000e3 	ldr	x3, 400c68 <_start+0x38>
  400c50:	58000104 	ldr	x4, 400c70 <_start+0x40>
  400c54:	97ffffbf 	bl	400b50 <__libc_start_main@plt>
  400c58:	97ffffe6 	bl	400bf0 <abort@plt>
  400c5c:	00000000 	.inst	0x00000000 ; undefined
  400c60:	00400f98 	.word	0x00400f98
  400c64:	00000000 	.word	0x00000000
  400c68:	00401250 	.word	0x00401250
  400c6c:	00000000 	.word	0x00000000
  400c70:	004012d0 	.word	0x004012d0
  400c74:	00000000 	.word	0x00000000

0000000000400c78 <call_weak_fn>:
  400c78:	b0000080 	adrp	x0, 411000 <__FRAME_END__+0xf9f0>
  400c7c:	f947f000 	ldr	x0, [x0, #4064]
  400c80:	b4000040 	cbz	x0, 400c88 <call_weak_fn+0x10>
  400c84:	17ffffe3 	b	400c10 <__gmon_start__@plt>
  400c88:	d65f03c0 	ret
  400c8c:	00000000 	.inst	0x00000000 ; undefined

0000000000400c90 <deregister_tm_clones>:
  400c90:	d0000080 	adrp	x0, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400c94:	91028000 	add	x0, x0, #0xa0
  400c98:	d0000081 	adrp	x1, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400c9c:	91028021 	add	x1, x1, #0xa0
  400ca0:	eb00003f 	cmp	x1, x0
  400ca4:	540000a0 	b.eq	400cb8 <deregister_tm_clones+0x28>  // b.none
  400ca8:	b0000001 	adrp	x1, 401000 <_Z41__static_initialization_and_destruction_0ii+0x50>
  400cac:	f9417821 	ldr	x1, [x1, #752]
  400cb0:	b4000041 	cbz	x1, 400cb8 <deregister_tm_clones+0x28>
  400cb4:	d61f0020 	br	x1
  400cb8:	d65f03c0 	ret
  400cbc:	d503201f 	nop

0000000000400cc0 <register_tm_clones>:
  400cc0:	d0000080 	adrp	x0, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400cc4:	91028000 	add	x0, x0, #0xa0
  400cc8:	d0000081 	adrp	x1, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400ccc:	91028021 	add	x1, x1, #0xa0
  400cd0:	cb000021 	sub	x1, x1, x0
  400cd4:	9343fc21 	asr	x1, x1, #3
  400cd8:	8b41fc21 	add	x1, x1, x1, lsr #63
  400cdc:	9341fc21 	asr	x1, x1, #1
  400ce0:	b40000a1 	cbz	x1, 400cf4 <register_tm_clones+0x34>
  400ce4:	b0000002 	adrp	x2, 401000 <_Z41__static_initialization_and_destruction_0ii+0x50>
  400ce8:	f9417c42 	ldr	x2, [x2, #760]
  400cec:	b4000042 	cbz	x2, 400cf4 <register_tm_clones+0x34>
  400cf0:	d61f0040 	br	x2
  400cf4:	d65f03c0 	ret

0000000000400cf8 <__do_global_dtors_aux>:
  400cf8:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
  400cfc:	910003fd 	mov	x29, sp
  400d00:	f9000bf3 	str	x19, [sp, #16]
  400d04:	d0000093 	adrp	x19, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400d08:	3946c260 	ldrb	w0, [x19, #432]
  400d0c:	35000080 	cbnz	w0, 400d1c <__do_global_dtors_aux+0x24>
  400d10:	97ffffe0 	bl	400c90 <deregister_tm_clones>
  400d14:	52800020 	mov	w0, #0x1                   	// #1
  400d18:	3906c260 	strb	w0, [x19, #432]
  400d1c:	f9400bf3 	ldr	x19, [sp, #16]
  400d20:	a8c27bfd 	ldp	x29, x30, [sp], #32
  400d24:	d65f03c0 	ret

0000000000400d28 <frame_dummy>:
  400d28:	17ffffe6 	b	400cc0 <register_tm_clones>

0000000000400d2c <_ZN4Date3setERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE>:
  400d2c:	a9b87bfd 	stp	x29, x30, [sp, #-128]!
  400d30:	910003fd 	mov	x29, sp
  400d34:	f9000fa0 	str	x0, [x29, #24]
  400d38:	f9000ba1 	str	x1, [x29, #16]
  400d3c:	910083a0 	add	x0, x29, #0x20
  400d40:	aa0003e8 	mov	x8, x0
  400d44:	d2800082 	mov	x2, #0x4                   	// #4
  400d48:	d2800001 	mov	x1, #0x0                   	// #0
  400d4c:	f9400ba0 	ldr	x0, [x29, #16]
  400d50:	97ffff8c 	bl	400b80 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm@plt>
  400d54:	910083a0 	add	x0, x29, #0x20
  400d58:	97ffff6e 	bl	400b10 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@plt>
  400d5c:	97ffff79 	bl	400b40 <atoi@plt>
  400d60:	2a0003e1 	mov	w1, w0
  400d64:	f9400fa0 	ldr	x0, [x29, #24]
  400d68:	b9000001 	str	w1, [x0]
  400d6c:	910083a0 	add	x0, x29, #0x20
  400d70:	97ffff70 	bl	400b30 <_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev@plt>
  400d74:	910103a0 	add	x0, x29, #0x40
  400d78:	aa0003e8 	mov	x8, x0
  400d7c:	d2800042 	mov	x2, #0x2                   	// #2
  400d80:	d28000a1 	mov	x1, #0x5                   	// #5
  400d84:	f9400ba0 	ldr	x0, [x29, #16]
  400d88:	97ffff7e 	bl	400b80 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm@plt>
  400d8c:	910103a0 	add	x0, x29, #0x40
  400d90:	97ffff60 	bl	400b10 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@plt>
  400d94:	97ffff6b 	bl	400b40 <atoi@plt>
  400d98:	2a0003e1 	mov	w1, w0
  400d9c:	f9400fa0 	ldr	x0, [x29, #24]
  400da0:	b9000401 	str	w1, [x0, #4]
  400da4:	910103a0 	add	x0, x29, #0x40
  400da8:	97ffff62 	bl	400b30 <_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev@plt>
  400dac:	910183a0 	add	x0, x29, #0x60
  400db0:	aa0003e8 	mov	x8, x0
  400db4:	d2800042 	mov	x2, #0x2                   	// #2
  400db8:	d2800101 	mov	x1, #0x8                   	// #8
  400dbc:	f9400ba0 	ldr	x0, [x29, #16]
  400dc0:	97ffff70 	bl	400b80 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm@plt>
  400dc4:	910183a0 	add	x0, x29, #0x60
  400dc8:	97ffff52 	bl	400b10 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@plt>
  400dcc:	97ffff5d 	bl	400b40 <atoi@plt>
  400dd0:	2a0003e1 	mov	w1, w0
  400dd4:	f9400fa0 	ldr	x0, [x29, #24]
  400dd8:	b9000801 	str	w1, [x0, #8]
  400ddc:	910183a0 	add	x0, x29, #0x60
  400de0:	97ffff54 	bl	400b30 <_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev@plt>
  400de4:	d503201f 	nop
  400de8:	a8c87bfd 	ldp	x29, x30, [sp], #128
  400dec:	d65f03c0 	ret

0000000000400df0 <_Z9Date_Testv>:
  400df0:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
  400df4:	910003fd 	mov	x29, sp
  400df8:	d2800180 	mov	x0, #0xc                   	// #12
  400dfc:	97ffff5d 	bl	400b70 <_Znwm@plt>
  400e00:	f90017a0 	str	x0, [x29, #40]
  400e04:	52800303 	mov	w3, #0x18                  	// #24
  400e08:	52800102 	mov	w2, #0x8                   	// #8
  400e0c:	5280fc41 	mov	w1, #0x7e2                 	// #2018
  400e10:	f94017a0 	ldr	x0, [x29, #40]
  400e14:	9400008b 	bl	401040 <_ZN4Date3setEiii>
  400e18:	f94017a0 	ldr	x0, [x29, #40]
  400e1c:	9400009a 	bl	401084 <_ZNK4Date10isLeapYearEv>
  400e20:	12001c00 	and	w0, w0, #0xff
  400e24:	7100001f 	cmp	w0, #0x0
  400e28:	54000060 	b.eq	400e34 <_Z9Date_Testv+0x44>  // b.none
  400e2c:	f94017a0 	ldr	x0, [x29, #40]
  400e30:	940000bd 	bl	401124 <_ZNK4Date5printEv>
  400e34:	f94017a0 	ldr	x0, [x29, #40]
  400e38:	940000bb 	bl	401124 <_ZNK4Date5printEv>
  400e3c:	f94017a0 	ldr	x0, [x29, #40]
  400e40:	940000b9 	bl	401124 <_ZNK4Date5printEv>
  400e44:	910063a0 	add	x0, x29, #0x18
  400e48:	940000b7 	bl	401124 <_ZNK4Date5printEv>
  400e4c:	d503201f 	nop
  400e50:	a8c37bfd 	ldp	x29, x30, [sp], #48
  400e54:	d65f03c0 	ret

0000000000400e58 <_ZL17const_usage_basicv>:
  400e58:	d10043ff 	sub	sp, sp, #0x10
  400e5c:	52800140 	mov	w0, #0xa                   	// #10
  400e60:	b9000fe0 	str	w0, [sp, #12]
  400e64:	d503201f 	nop
  400e68:	910043ff 	add	sp, sp, #0x10
  400e6c:	d65f03c0 	ret

0000000000400e70 <_ZL31const_usage_point_and_referencev>:
  400e70:	d10143ff 	sub	sp, sp, #0x50
  400e74:	a900ffff 	stp	xzr, xzr, [sp, #8]
  400e78:	b9001bff 	str	wzr, [sp, #24]
  400e7c:	52800020 	mov	w0, #0x1                   	// #1
  400e80:	b9000be0 	str	w0, [sp, #8]
  400e84:	52800c80 	mov	w0, #0x64                  	// #100
  400e88:	b90007e0 	str	w0, [sp, #4]
  400e8c:	910023e0 	add	x0, sp, #0x8
  400e90:	91001000 	add	x0, x0, #0x4
  400e94:	f90027e0 	str	x0, [sp, #72]
  400e98:	910023e0 	add	x0, sp, #0x8
  400e9c:	91002000 	add	x0, x0, #0x8
  400ea0:	f90023e0 	str	x0, [sp, #64]
  400ea4:	910023e0 	add	x0, sp, #0x8
  400ea8:	91003000 	add	x0, x0, #0xc
  400eac:	f9001fe0 	str	x0, [sp, #56]
  400eb0:	910023e0 	add	x0, sp, #0x8
  400eb4:	91004000 	add	x0, x0, #0x10
  400eb8:	f9001be0 	str	x0, [sp, #48]
  400ebc:	910013e0 	add	x0, sp, #0x4
  400ec0:	f90017e0 	str	x0, [sp, #40]
  400ec4:	910013e0 	add	x0, sp, #0x4
  400ec8:	f90013e0 	str	x0, [sp, #32]
  400ecc:	d503201f 	nop
  400ed0:	910143ff 	add	sp, sp, #0x50
  400ed4:	d65f03c0 	ret

0000000000400ed8 <_ZL20const_usage_functionPK4Date>:
  400ed8:	d10043ff 	sub	sp, sp, #0x10
  400edc:	f90007e0 	str	x0, [sp, #8]
  400ee0:	d503201f 	nop
  400ee4:	910043ff 	add	sp, sp, #0x10
  400ee8:	d65f03c0 	ret

0000000000400eec <_ZL24const_usage_return_valuev>:
  400eec:	d503201f 	nop
  400ef0:	d65f03c0 	ret

0000000000400ef4 <_ZN17const_usage_classC1Ei>:
  400ef4:	d10043ff 	sub	sp, sp, #0x10
  400ef8:	f90007e0 	str	x0, [sp, #8]
  400efc:	b90007e1 	str	w1, [sp, #4]
  400f00:	f94007e0 	ldr	x0, [sp, #8]
  400f04:	b94007e1 	ldr	w1, [sp, #4]
  400f08:	b9000001 	str	w1, [x0]
  400f0c:	d503201f 	nop
  400f10:	910043ff 	add	sp, sp, #0x10
  400f14:	d65f03c0 	ret

0000000000400f18 <_ZL20const_class_invokingv>:
  400f18:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
  400f1c:	910003fd 	mov	x29, sp
  400f20:	910063a0 	add	x0, x29, #0x18
  400f24:	52800c81 	mov	w1, #0x64                  	// #100
  400f28:	97fffff3 	bl	400ef4 <_ZN17const_usage_classC1Ei>
  400f2c:	910043a0 	add	x0, x29, #0x10
  400f30:	52800c81 	mov	w1, #0x64                  	// #100
  400f34:	97fffff0 	bl	400ef4 <_ZN17const_usage_classC1Ei>
  400f38:	d503201f 	nop
  400f3c:	a8c27bfd 	ldp	x29, x30, [sp], #32
  400f40:	d65f03c0 	ret

0000000000400f44 <_ZL21const_static_invokingv>:
  400f44:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
  400f48:	910003fd 	mov	x29, sp
  400f4c:	d0000080 	adrp	x0, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400f50:	91028000 	add	x0, x0, #0xa0
  400f54:	5280fc41 	mov	w1, #0x7e2                 	// #2018
  400f58:	97ffff2a 	bl	400c00 <_ZNSolsEi@plt>
  400f5c:	aa0003e2 	mov	x2, x0
  400f60:	90000000 	adrp	x0, 400000 <_init-0xad8>
  400f64:	912c8000 	add	x0, x0, #0xb20
  400f68:	aa0003e1 	mov	x1, x0
  400f6c:	aa0203e0 	mov	x0, x2
  400f70:	97ffff08 	bl	400b90 <_ZNSolsEPFRSoS_E@plt>
  400f74:	d503201f 	nop
  400f78:	a8c17bfd 	ldp	x29, x30, [sp], #16
  400f7c:	d65f03c0 	ret

0000000000400f80 <_ZNK5Stack8GetCountEv>:
  400f80:	d10043ff 	sub	sp, sp, #0x10
  400f84:	f90007e0 	str	x0, [sp, #8]
  400f88:	f94007e0 	ldr	x0, [sp, #8]
  400f8c:	b9400000 	ldr	w0, [x0]
  400f90:	910043ff 	add	sp, sp, #0x10
  400f94:	d65f03c0 	ret

0000000000400f98 <main>:
  400f98:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
  400f9c:	910003fd 	mov	x29, sp
  400fa0:	97ffff94 	bl	400df0 <_Z9Date_Testv>
  400fa4:	52800000 	mov	w0, #0x0                   	// #0
  400fa8:	a8c17bfd 	ldp	x29, x30, [sp], #16
  400fac:	d65f03c0 	ret

0000000000400fb0 <_Z41__static_initialization_and_destruction_0ii>:
  400fb0:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
  400fb4:	910003fd 	mov	x29, sp
  400fb8:	b9001fa0 	str	w0, [x29, #28]
  400fbc:	b9001ba1 	str	w1, [x29, #24]
  400fc0:	b9401fa0 	ldr	w0, [x29, #28]
  400fc4:	7100041f 	cmp	w0, #0x1
  400fc8:	540001e1 	b.ne	401004 <_Z41__static_initialization_and_destruction_0ii+0x54>  // b.any
  400fcc:	b9401ba1 	ldr	w1, [x29, #24]
  400fd0:	529fffe0 	mov	w0, #0xffff                	// #65535
  400fd4:	6b00003f 	cmp	w1, w0
  400fd8:	54000161 	b.ne	401004 <_Z41__static_initialization_and_destruction_0ii+0x54>  // b.any
  400fdc:	d0000080 	adrp	x0, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400fe0:	9106e000 	add	x0, x0, #0x1b8
  400fe4:	97fffefb 	bl	400bd0 <_ZNSt8ios_base4InitC1Ev@plt>
  400fe8:	d0000080 	adrp	x0, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400fec:	91026002 	add	x2, x0, #0x98
  400ff0:	d0000080 	adrp	x0, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  400ff4:	9106e001 	add	x1, x0, #0x1b8
  400ff8:	90000000 	adrp	x0, 400000 <_init-0xad8>
  400ffc:	91308000 	add	x0, x0, #0xc20
  401000:	97fffee8 	bl	400ba0 <__cxa_atexit@plt>
  401004:	d503201f 	nop
  401008:	a8c27bfd 	ldp	x29, x30, [sp], #32
  40100c:	d65f03c0 	ret

0000000000401010 <_GLOBAL__sub_I__ZN4Date3setERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE>:
  401010:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
  401014:	910003fd 	mov	x29, sp
  401018:	529fffe1 	mov	w1, #0xffff                	// #65535
  40101c:	52800020 	mov	w0, #0x1                   	// #1
  401020:	97ffffe4 	bl	400fb0 <_Z41__static_initialization_and_destruction_0ii>
  401024:	a8c17bfd 	ldp	x29, x30, [sp], #16
  401028:	d65f03c0 	ret

000000000040102c <_ZSt4setwi>:
  40102c:	d10043ff 	sub	sp, sp, #0x10
  401030:	b9000fe0 	str	w0, [sp, #12]
  401034:	b9400fe0 	ldr	w0, [sp, #12]
  401038:	910043ff 	add	sp, sp, #0x10
  40103c:	d65f03c0 	ret

0000000000401040 <_ZN4Date3setEiii>:
  401040:	d10083ff 	sub	sp, sp, #0x20
  401044:	f9000fe0 	str	x0, [sp, #24]
  401048:	b90017e1 	str	w1, [sp, #20]
  40104c:	b90013e2 	str	w2, [sp, #16]
  401050:	b9000fe3 	str	w3, [sp, #12]
  401054:	f9400fe0 	ldr	x0, [sp, #24]
  401058:	b94017e1 	ldr	w1, [sp, #20]
  40105c:	b9000001 	str	w1, [x0]
  401060:	f9400fe0 	ldr	x0, [sp, #24]
  401064:	b94013e1 	ldr	w1, [sp, #16]
  401068:	b9000401 	str	w1, [x0, #4]
  40106c:	f9400fe0 	ldr	x0, [sp, #24]
  401070:	b9400fe1 	ldr	w1, [sp, #12]
  401074:	b9000801 	str	w1, [x0, #8]
  401078:	d503201f 	nop
  40107c:	910083ff 	add	sp, sp, #0x20
  401080:	d65f03c0 	ret

0000000000401084 <_ZNK4Date10isLeapYearEv>:
  401084:	d10043ff 	sub	sp, sp, #0x10
  401088:	f90007e0 	str	x0, [sp, #8]
  40108c:	f94007e0 	ldr	x0, [sp, #8]
  401090:	b9400000 	ldr	w0, [x0]
  401094:	12000400 	and	w0, w0, #0x3
  401098:	7100001f 	cmp	w0, #0x0
  40109c:	540001e1 	b.ne	4010d8 <_ZNK4Date10isLeapYearEv+0x54>  // b.any
  4010a0:	f94007e0 	ldr	x0, [sp, #8]
  4010a4:	b9400001 	ldr	w1, [x0]
  4010a8:	5290a3e0 	mov	w0, #0x851f                	// #34079
  4010ac:	72aa3d60 	movk	w0, #0x51eb, lsl #16
  4010b0:	9b207c20 	smull	x0, w1, w0
  4010b4:	d360fc00 	lsr	x0, x0, #32
  4010b8:	13057c02 	asr	w2, w0, #5
  4010bc:	131f7c20 	asr	w0, w1, #31
  4010c0:	4b000040 	sub	w0, w2, w0
  4010c4:	52800c82 	mov	w2, #0x64                  	// #100
  4010c8:	1b027c00 	mul	w0, w0, w2
  4010cc:	4b000020 	sub	w0, w1, w0
  4010d0:	7100001f 	cmp	w0, #0x0
  4010d4:	540001e1 	b.ne	401110 <_ZNK4Date10isLeapYearEv+0x8c>  // b.any
  4010d8:	f94007e0 	ldr	x0, [sp, #8]
  4010dc:	b9400001 	ldr	w1, [x0]
  4010e0:	5290a3e0 	mov	w0, #0x851f                	// #34079
  4010e4:	72aa3d60 	movk	w0, #0x51eb, lsl #16
  4010e8:	9b207c20 	smull	x0, w1, w0
  4010ec:	d360fc00 	lsr	x0, x0, #32
  4010f0:	13077c02 	asr	w2, w0, #7
  4010f4:	131f7c20 	asr	w0, w1, #31
  4010f8:	4b000040 	sub	w0, w2, w0
  4010fc:	52803202 	mov	w2, #0x190                 	// #400
  401100:	1b027c00 	mul	w0, w0, w2
  401104:	4b000020 	sub	w0, w1, w0
  401108:	7100001f 	cmp	w0, #0x0
  40110c:	54000061 	b.ne	401118 <_ZNK4Date10isLeapYearEv+0x94>  // b.any
  401110:	52800020 	mov	w0, #0x1                   	// #1
  401114:	14000002 	b	40111c <_ZNK4Date10isLeapYearEv+0x98>
  401118:	52800000 	mov	w0, #0x0                   	// #0
  40111c:	910043ff 	add	sp, sp, #0x10
  401120:	d65f03c0 	ret

0000000000401124 <_ZNK4Date5printEv>:
  401124:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
  401128:	910003fd 	mov	x29, sp
  40112c:	f9000bf3 	str	x19, [sp, #16]
  401130:	f90017a0 	str	x0, [x29, #40]
  401134:	52800600 	mov	w0, #0x30                  	// #48
  401138:	94000041 	bl	40123c <_ZSt7setfillIcESt8_SetfillIT_ES1_>
  40113c:	2a0003e1 	mov	w1, w0
  401140:	b0000080 	adrp	x0, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  401144:	91028000 	add	x0, x0, #0xa0
  401148:	97fffea6 	bl	400be0 <_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@plt>
  40114c:	52800080 	mov	w0, #0x4                   	// #4
  401150:	97ffffb7 	bl	40102c <_ZSt4setwi>
  401154:	2a0003e1 	mov	w1, w0
  401158:	b0000080 	adrp	x0, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  40115c:	91028000 	add	x0, x0, #0xa0
  401160:	97fffe94 	bl	400bb0 <_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@plt>
  401164:	aa0003e2 	mov	x2, x0
  401168:	f94017a0 	ldr	x0, [x29, #40]
  40116c:	b9400000 	ldr	w0, [x0]
  401170:	2a0003e1 	mov	w1, w0
  401174:	aa0203e0 	mov	x0, x2
  401178:	97fffea2 	bl	400c00 <_ZNSolsEi@plt>
  40117c:	528005a1 	mov	w1, #0x2d                  	// #45
  401180:	97fffe90 	bl	400bc0 <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@plt>
  401184:	aa0003f3 	mov	x19, x0
  401188:	52800040 	mov	w0, #0x2                   	// #2
  40118c:	97ffffa8 	bl	40102c <_ZSt4setwi>
  401190:	2a0003e1 	mov	w1, w0
  401194:	aa1303e0 	mov	x0, x19
  401198:	97fffe86 	bl	400bb0 <_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@plt>
  40119c:	aa0003e2 	mov	x2, x0
  4011a0:	f94017a0 	ldr	x0, [x29, #40]
  4011a4:	b9400400 	ldr	w0, [x0, #4]
  4011a8:	2a0003e1 	mov	w1, w0
  4011ac:	aa0203e0 	mov	x0, x2
  4011b0:	97fffe94 	bl	400c00 <_ZNSolsEi@plt>
  4011b4:	aa0003e2 	mov	x2, x0
  4011b8:	90000000 	adrp	x0, 401000 <_Z41__static_initialization_and_destruction_0ii+0x50>
  4011bc:	910c6000 	add	x0, x0, #0x318
  4011c0:	aa0003e1 	mov	x1, x0
  4011c4:	aa0203e0 	mov	x0, x2
  4011c8:	97fffe66 	bl	400b60 <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt>
  4011cc:	aa0003f3 	mov	x19, x0
  4011d0:	52800040 	mov	w0, #0x2                   	// #2
  4011d4:	97ffff96 	bl	40102c <_ZSt4setwi>
  4011d8:	2a0003e1 	mov	w1, w0
  4011dc:	aa1303e0 	mov	x0, x19
  4011e0:	97fffe74 	bl	400bb0 <_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@plt>
  4011e4:	aa0003e2 	mov	x2, x0
  4011e8:	f94017a0 	ldr	x0, [x29, #40]
  4011ec:	b9400800 	ldr	w0, [x0, #8]
  4011f0:	2a0003e1 	mov	w1, w0
  4011f4:	aa0203e0 	mov	x0, x2
  4011f8:	97fffe82 	bl	400c00 <_ZNSolsEi@plt>
  4011fc:	aa0003e2 	mov	x2, x0
  401200:	f0ffffe0 	adrp	x0, 400000 <_init-0xad8>
  401204:	912c8000 	add	x0, x0, #0xb20
  401208:	aa0003e1 	mov	x1, x0
  40120c:	aa0203e0 	mov	x0, x2
  401210:	97fffe60 	bl	400b90 <_ZNSolsEPFRSoS_E@plt>
  401214:	52800400 	mov	w0, #0x20                  	// #32
  401218:	94000009 	bl	40123c <_ZSt7setfillIcESt8_SetfillIT_ES1_>
  40121c:	2a0003e1 	mov	w1, w0
  401220:	b0000080 	adrp	x0, 412000 <_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21>
  401224:	91028000 	add	x0, x0, #0xa0
  401228:	97fffe6e 	bl	400be0 <_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@plt>
  40122c:	d503201f 	nop
  401230:	f9400bf3 	ldr	x19, [sp, #16]
  401234:	a8c37bfd 	ldp	x29, x30, [sp], #48
  401238:	d65f03c0 	ret

000000000040123c <_ZSt7setfillIcESt8_SetfillIT_ES1_>:
  40123c:	d10043ff 	sub	sp, sp, #0x10
  401240:	39003fe0 	strb	w0, [sp, #15]
  401244:	39403fe0 	ldrb	w0, [sp, #15]
  401248:	910043ff 	add	sp, sp, #0x10
  40124c:	d65f03c0 	ret

0000000000401250 <__libc_csu_init>:
  401250:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
  401254:	910003fd 	mov	x29, sp
  401258:	a901d7f4 	stp	x20, x21, [sp, #24]
  40125c:	90000094 	adrp	x20, 411000 <__FRAME_END__+0xf9f0>
  401260:	90000095 	adrp	x21, 411000 <__FRAME_END__+0xf9f0>
  401264:	9136c294 	add	x20, x20, #0xdb0
  401268:	913682b5 	add	x21, x21, #0xda0
  40126c:	a902dff6 	stp	x22, x23, [sp, #40]
  401270:	cb150294 	sub	x20, x20, x21
  401274:	f9001ff8 	str	x24, [sp, #56]
  401278:	2a0003f6 	mov	w22, w0
  40127c:	aa0103f7 	mov	x23, x1
  401280:	9343fe94 	asr	x20, x20, #3
  401284:	aa0203f8 	mov	x24, x2
  401288:	97fffe14 	bl	400ad8 <_init>
  40128c:	b4000194 	cbz	x20, 4012bc <__libc_csu_init+0x6c>
  401290:	f9000bb3 	str	x19, [x29, #16]
  401294:	d2800013 	mov	x19, #0x0                   	// #0
  401298:	f8737aa3 	ldr	x3, [x21, x19, lsl #3]
  40129c:	aa1803e2 	mov	x2, x24
  4012a0:	aa1703e1 	mov	x1, x23
  4012a4:	2a1603e0 	mov	w0, w22
  4012a8:	91000673 	add	x19, x19, #0x1
  4012ac:	d63f0060 	blr	x3
  4012b0:	eb13029f 	cmp	x20, x19
  4012b4:	54ffff21 	b.ne	401298 <__libc_csu_init+0x48>  // b.any
  4012b8:	f9400bb3 	ldr	x19, [x29, #16]
  4012bc:	a941d7f4 	ldp	x20, x21, [sp, #24]
  4012c0:	a942dff6 	ldp	x22, x23, [sp, #40]
  4012c4:	f9401ff8 	ldr	x24, [sp, #56]
  4012c8:	a8c47bfd 	ldp	x29, x30, [sp], #64
  4012cc:	d65f03c0 	ret

00000000004012d0 <__libc_csu_fini>:
  4012d0:	d65f03c0 	ret

Disassembly of section .fini:

00000000004012d4 <_fini>:
  4012d4:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
  4012d8:	910003fd 	mov	x29, sp
  4012dc:	a8c17bfd 	ldp	x29, x30, [sp], #16
  4012e0:	d65f03c0 	ret
